package com.ayz.gateway.client.executor;

/**
 * @ClassName RequestExecutorRegistry
 * @Description TODO: 请求执行器注册器
 * @Author 快乐的星球
 * @Date 2023/5/20 11:40
 * @Version 1.0
 **/
public interface RequestExecutorRegistry {
    /**
     * 注册一个 请求执行器与请求编码的映射关系
     * @param requestCode
     * @param requestExecutor
     */
    public void registry(int requestCode,RequestExecutor requestExecutor);

    /**
     * 根据请求编码获取到 对应的请求执行器
     * @param requestCode
     * @return
     */
    public RequestExecutor getRequestExecutor(int requestCode);

    /**
     * 解绑指定的请求编码
     * @param requestCode
     */
    public void unRegistry(int requestCode);
}
